package org.jsola.hr.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.entity.BaseDeleteDO;
import org.jsola.core.entity.Key;

import java.util.Date;
import javax.persistence.Table;

/**
 * 员工通知
 *
 * @author zhr
 */
@EqualsAndHashCode(callSuper = true)
@Data
@Table(name = "hr_emp_notice")
@Key(UUID = true)
public class EmpNoticeDO extends BaseDeleteDO<String> {

    private static final long serialVersionUID = 1L;

    /**
     * 已读员工id
     */
    private String readEmpIds;
    /**
     * 未读员工id
     */
    private String noReadEmpIds;
    /**
     * 已读人数
     */
    private Integer readCount;
    /**
     * 未读人数
     */
    private Integer noReadCount;
    /**
     * 附件
     */
    private String file;
    /**
     * 公司id
     */
    private String companyId;
    /**
     * 公告标题
     */
    private String title;
    /**
     * 公告内容
     */
    private String content;
    /**
     * 带样式的公告内容
     */
    private String contentHasStyle;
    /**
     * 发布时间
     */
    private Date publishDate;
    /**
     * 要发送的员工id(用,分隔)
     */
    private String publishEmpId;
    /**
     * 要发送的用户id
     */
    private String publishUserId;
    /**
     * 是否全公司发布(1:全公司,0:部分员工)
     */
    private Boolean publishEmpRangeIsAll;
    /**
     * 部分发布的时候选择的员工id(用,分隔)
     */
    private String publishEmpRange;
    /**
     * 是否全部员工类型发布(1:全部员工类型,0:部分员工类型)
     */
    private Boolean publishEmpTypeIsAll;
    /**
     * 部分员工类型时选择的员工类型code(用,分隔)
     */
    private String publishEmpType;
    /**
     * 员工正式类型（1:试用期,2:已转正,0:无状态）
     */
    private Integer formalType;
    /**
     * 补充信息
     */
    private String props;
    /**
     * 对应消息模块的通知id
     */
    private String noticeIds;
    /**
     * 创建公告的人员名称
     */
    private String createUserName;
    /**
     * 通知状态 0：未读 1：已读 2：部分已读
     */
    private Integer readStatus;
    /**
     * 是否已上线(1:已上线,0:未上线)(已上线包含待发布,已发布)
     */
    private Boolean isOnline;
    /**
     * 下线时间
     */
    private Date offlineDate;
    /**
     * 通知类型（1.微信 2.短信 3.邮箱）
     */
    private String noticeType;
    /**
     * 状态(0:待发布,1:已发布,2:已下线)(待发布,已发布属于已上线)
     */
    private Integer status;



}

